﻿' LibWowArmory
' by Ronald M. Clifford (roncli@roncli.com)
'
' This source code is released under the GNU Library General Public License (LGPL) Version 2.1.

Imports System.Collections.Generic
Imports System.Xml.Serialization

Namespace roncliProductions.LibWowArmory.DungeonDataSchema

    Public Class dungeon

        Private intHasHeroic As Integer
        Private strID As String
        Private strKey As String
        Private intLevelMax As Integer
        Private intLevelMin As Integer
        Private intNameID As Integer
        Private intPartySize As Integer
        Private intRaid As Integer
        Private intRelease As Integer
        Private strShowPartySize As String
        Private bBosses As New List(Of bosses)

        <XmlAttribute()> Public Property hasHeroic() As Integer
            Get
                Return intHasHeroic
            End Get
            Set(ByVal value As Integer)
                intHasHeroic = value
            End Set
        End Property

        <XmlAttribute()> Public Property id() As String
            Get
                Return strID
            End Get
            Set(ByVal value As String)
                strID = value
            End Set
        End Property

        <XmlAttribute()> Public Property key() As String
            Get
                Return strKey
            End Get
            Set(ByVal value As String)
                strKey = value
            End Set
        End Property

        <XmlAttribute()> Public Property levelMax() As Integer
            Get
                Return intLevelMax
            End Get
            Set(ByVal value As Integer)
                intLevelMax = value
            End Set
        End Property

        <XmlAttribute()> Public Property levelMin() As Integer
            Get
                Return intLevelMin
            End Get
            Set(ByVal value As Integer)
                intLevelMin = value
            End Set
        End Property

        <XmlAttribute()> Public Property nameId() As Integer
            Get
                Return intNameID
            End Get
            Set(ByVal value As Integer)
                intNameID = value
            End Set
        End Property

        <XmlAttribute()> Public Property partySize() As Integer
            Get
                Return intPartySize
            End Get
            Set(ByVal value As Integer)
                intPartySize = value
            End Set
        End Property

        <XmlAttribute()> Public Property raid() As Integer
            Get
                Return intRaid
            End Get
            Set(ByVal value As Integer)
                intRaid = 0
            End Set
        End Property

        <XmlAttribute()> Public Property release() As Integer
            Get
                Return intRelease
            End Get
            Set(ByVal value As Integer)
                intRelease = value
            End Set
        End Property

        <XmlAttribute()> Public Property showPartySize() As String
            Get
                Return strShowPartySize
            End Get
            Set(ByVal value As String)
                strShowPartySize = value
            End Set
        End Property

        <XmlElement()> Public Property bosses() As List(Of bosses)
            Get
                Return bBosses
            End Get
            Set(ByVal value As List(Of bosses))
                bBosses = value
            End Set
        End Property

    End Class

End Namespace